xen/arm: vgic-v3: Set stride during domain initialization
authorJulien Grall <julien.grall@linaro.org>
Mon, 16 Feb 2015 14:50:46 +0000 (14:50 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 19 Feb 2015 16:55:28 +0000 (16:55 +0000)
commit4636e9fb40130240b74da0148ea96307cc251800
treedea7010759a00e70bcabb7d2867b28571adebd08
parentcfef895c52cb2e82cc92916abd8769d0500763bd
xen/arm: vgic-v3: Set stride during domain initialization

The stride may not be set if the hardware GIC is using the default
layout. It happens on the Foundation model.

On GICv3, the default stride is 2 * 64K. Therefore it's possible to avoid
checking at every redistributor MMIO access if the stride is not set.

Because domU uses a static stride configuration this only happens for
dom0, so we can move this code in gicv_v3_init. Take the opportunity to move
the stride setting a bit earlier because the loop to set regions will require
the stride.

Also, use 2 * 64K rather than 128K and explain the reason.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/gic-v3.c
xen/arch/arm/vgic-v3.c